Skip to content

feat(sustainabot): migrate bot-integration from ReScript to AffineScr…#199

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/intelligent-faraday-5XOuU
May 24, 2026
Merged

feat(sustainabot): migrate bot-integration from ReScript to AffineScr…#199
hyperpolymath merged 1 commit into
mainfrom
claude/intelligent-faraday-5XOuU

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

…ipt (#148)

Hand-port of bots/sustainabot/bot-integration/ from ReScript to AffineScript under explicit policy override of issue #148 (which previously forbade hand-porting ahead of the upstream mechanical migrator).

Scope:

Also unblocks PR #198: the governance "Language / package anti-pattern policy" check failed there because the .hypatia-ignore file the PR added isn't read by the upstream reusable workflow in hyperpolymath/standards. Removing the .res sources removes the root cause that the rule was firing on, so re-running the check on a main rebased over this commit should pass.

…ipt (#148)

Hand-port of bots/sustainabot/bot-integration/ from ReScript to AffineScript
under explicit policy override of issue #148 (which previously forbade
hand-porting ahead of the upstream mechanical migrator).

Scope:
- 11 .res files re-expressed as .affine (Types, Config, Webhook, Analysis,
  GitHubAPI, GitHubApp, Report, Router, Oikos, Main, tea/ServerTea).
- Deleted .res/.res.js sources, lib/ocaml/ duplicates, bindings/, the
  vendored rescript-runtime/ Belt snapshot, and rescript.json.
- Updated package.json + deno.json to target the AffineScript toolchain.
- Added MIGRATION-NOTES.md documenting placeholders pending #161 (Json),
  #162 (Dict/Map), and Phase-3 of the migration assistant (#57/#314).

Also unblocks PR #198: the governance "Language / package anti-pattern
policy" check failed there because the .hypatia-ignore file the PR added
isn't read by the upstream reusable workflow in hyperpolymath/standards.
Removing the .res sources removes the root cause that the rule was firing
on, so re-running the check on a main rebased over this commit should pass.
@hyperpolymath hyperpolymath merged commit 0db9fd5 into main May 24, 2026
10 of 17 checks passed
@hyperpolymath hyperpolymath deleted the claude/intelligent-faraday-5XOuU branch May 24, 2026 19:46
@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 135 issues detected

Severity Count
🔴 Critical 0
🟠 High 34
🟡 Medium 101
View findings
[
  {
    "reason": "Issue in quality.yml",
    "type": "missing_workflow",
    "file": "quality.yml",
    "action": "create",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in security-policy.yml",
    "type": "missing_workflow",
    "file": "security-policy.yml",
    "action": "create",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "expect() in hot path (1 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/gitbot-fleet/gitbot-fleet/bots/gsbot/src/services.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "expect() in hot path (3 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/gitbot-fleet/gitbot-fleet/bots/glambot/src/analyzers/accessibility.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "expect() in hot path (3 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/gitbot-fleet/gitbot-fleet/bots/finishingbot/src/analyzers/claims.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "expect() in hot path (1 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/gitbot-fleet/gitbot-fleet/bots/finishingbot/src/analyzers/license.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "expect() in hot path (1 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/gitbot-fleet/gitbot-fleet/bots/accessibilitybot/src/analyzers/aria.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "expect() in hot path (5 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/gitbot-fleet/gitbot-fleet/bots/accessibilitybot/src/analyzers/forms.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "expect() in hot path (4 occurrences, CWE-754)",
    "type": "expect_in_hot_path",
    "file": "/home/runner/work/gitbot-fleet/gitbot-fleet/bots/accessibilitybot/src/analyzers/media.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants